package com.csap.framework.apidoc.admin.model;

import com.csap.framework.annotation.apidoc.Description;
import com.csap.framework.annotation.apidoc.Group;
import com.csap.framework.annotation.apidoc.Request;
import lombok.Data;
import lombok.AllArgsConstructor;
import com.csap.framework.annotation.apidoc.ApiModelProperty;

import java.time.LocalDateTime;

import lombok.NoArgsConstructor;
import lombok.Builder;
import com.csap.mybatisplus.extension.activerecord.CloneModel;
import com.csap.framework.apidoc.admin.entity.ApiDocUserEntity;
import lombok.experimental.Accessors;
import com.csap.framework.annotation.apidoc.ApiModel;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 用户信息
 * </p>
 *
 * @author
 * @dateTime
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ApiModel(description = "用户信息", value = "apiDocUser对象")
@Description(value = "用户信息Model")
public class ApiDocUserModel extends CloneModel<ApiDocUserModel, ApiDocUserEntity> {
    @ApiModelProperty(description = "主键", value = "主键", forceRep = true)
    private Long id;
    @ApiModelProperty(description = "用户名", value = "用户名", groups = {
            @Group(value = "login", request = @Request(required = true))
    }, forceRep = true)
    @NotNull(message = "用户名不能为空")
    private String userName;
    @ApiModelProperty(description = "密码", value = "密码", groups = {
            @Group(value = "login", request = @Request(required = true))
    }, forceRep = true)
    @NotNull(message = "密码不能为空")
    private String password;
    @ApiModelProperty(description = "创建时间", value = "创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty(description = "昵称", value = "昵称", forceReq = true, forceRep = true)
    private String nickName;
    @ApiModelProperty(description = "是否删除", value = "是否删除")
    private Integer del;

}
